home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / XFMR.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-29  |  4.2 KB  |  146 lines

  1. 10  'XFMR - 27 JAN 91 rev. 28 SEP 96
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  CLS:KEY OFF
  4. 40  COLOR 7,0,1
  5. 50  UL$=STRING$(80,205)
  6. 60  ER$=STRING$(80,32)
  7. 70  U1$="##,###.##"
  8. 80  U2$="##,####"
  9. 90  U3$="#,####"
  10. 100  T$=" TRANSFORMER RATIOS"
  11. 110  '
  12. 120  '.....start
  13. 130  CLS
  14. 140  COLOR 15,2
  15. 150  PRINT T$;TAB(57);"by George Murphy VE3ERP ";
  16. 160  COLOR 1,0:PRINT STRING$(80,223);
  17. 170  COLOR 7,0
  18. 180  PRINT " Press number in < > to select transformer type:"
  19. 190  PRINT UL$;
  20. 200  PRINT "  < 1 >  POWER"
  21. 210  PRINT "  < 2 >  IMPEDANCE MATCHING - Impedances known"
  22. 220  PRINT "  < 3 >  IMPEDANCE MATCHING - turns ratio known"
  23. 230  PRINT UL$;
  24. 240  PRINT "    or press < 0 > to exit....."
  25. 250  Z$=INKEY$:IF Z$="" THEN 250
  26. 260  IF Z$="0"THEN CLS:RUN EX$
  27. 270  IF Z$="1"THEN 320
  28. 280  IF Z$="2"THEN 760
  29. 290  IF Z$="3"THEN 1000
  30. 300  GOTO 250
  31. 310  '
  32. 320  '.....power transformers
  33. 330  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  34. 340  PRINT " POWER TRANSFORMER:"
  35. 350  PRINT UL$;
  36. 360  INPUT " ENTER: PRIMARY voltage..........................";EP
  37. 370  IF EP=0 THEN LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1:GOTO 360
  38. 380  GOSUB 430
  39. 390  INPUT " ENTER: SECONDARY voltage........................";ES
  40. 400  IF ES=0 THEN LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1:GOTO 390
  41. 410  GOSUB 430
  42. 420  '
  43. 430  IF EP * ES THEN 460
  44. 440  RETURN
  45. 450  '
  46. 460  R=EP/ES               'turns ratio
  47. 470  '
  48. 480  '.....input current
  49. 490  IF IP=0 THEN INPUT " ENTER: PRIMARY current in amps (if known).......";IP
  50. 500  GOSUB 570
  51. 510  IF IS=0 THEN INPUT " ENTER: SECONDARY current in amps (if known).....";IS
  52. 520  GOSUB 570
  53. 530  IF VA=0 THEN INPUT " ENTER: Maximum Volt-Ampere rating (if known)....";VA
  54. 540  GOSUB 570
  55. 550  GOTO 490
  56. 560  '
  57. 570  IF IP>0 OR IS>0 OR VA>0 THEN 610
  58. 580  LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1
  59. 590  RETURN
  60. 600  '
  61. 610  IF IP THEN IS=IP*R:VA=EP*IP:GOTO 650
  62. 620  IF IS THEN IP=IS/R:VA=EP*IP:GOTO 650
  63. 630  IF VA THEN IP=VA/EP:IS=VA/ES:GOTO 650
  64. 640  '
  65. 650  '.....display results
  66. 660  VIEW PRINT 5 TO 24:CLS:VIEW PRINT:LOCATE 5
  67. 670  PRINT" Primary voltage.......................";USING U1$;EP;:PRINT " volts"
  68. 680  PRINT" Primary current.......................";USING U1$;IP;:PRINT " amps"
  69. 690  PRINT" Turns ratio...........................";USING U1$;R;:PRINT ":1"
  70. 700  PRINT" Secondary voltage.....................";USING U1$;ES;:PRINT " volts"
  71. 710  PRINT" Secondary current ....................";USING U1$;IS;:PRINT " amps"
  72. 720  PRINT" Maximum Volt-Ampere capacity..........";USING U1$;VA;:PRINT " VA"
  73. 730  PRINT UL$;
  74. 740  GOTO 1280
  75. 750  '
  76. 760  '.....impedance matching transformers - impedances known
  77. 770  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  78. 780  PRINT " IMPEDANCE MATCHING TRANSFORMER:"
  79. 790  PRINT UL$;
  80. 800  INPUT " ENTER: Primary impedance........................";ZP
  81. 810  IF ZP=0 THEN LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1:GOTO 800
  82. 820  LOCATE CSRLIN-1:PRINT SPC(7);:LOCATE CSRLIN,50:PRINT USING U1$;ZP;:PRINT" -"
  83. 830  INPUT " ENTER: Secondary impedance......................";ZS
  84. 840  IF ZS=0 THEN LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1:GOTO 830
  85. 850  LOCATE CSRLIN-1:PRINT SPC(7);:LOCATE CSRLIN,50:PRINT USING U1$;ZS;:PRINT" -"
  86. 860  I=SQR(ZP/ZS)
  87. 870  INPUT " ENTER: Number of PRIMARY turns (if known).......";TP
  88. 880  IF TP THEN TS=TP/I:GOTO 910
  89. 890  INPUT " ENTER: Number of SECONDARY turns (if known).....";TS
  90. 900  IF TS THEN TP=TS*I:GOTO 910
  91. 910  VIEW PRINT 7 TO 24:CLS:VIEW PRINT:LOCATE 7
  92. 920  PRINT TAB(9);"Primary/Secondary turns ratio............";USING U1$;I;
  93. 930  PRINT ":1"
  94. 940  IF TP*TS=0 THEN 970
  95. 950  PRINT TAB(9);"Number of PRIMARY turns..................";USING U3$;TP
  96. 960  PRINT TAB(9);"Number of SECONDARY turns................";USING U3$;TS
  97. 970  PRINT UL$;
  98. 980  GOTO 1280
  99. 990  '
  100. 1000  '.....impedance matching transformers - turns known
  101. 1010  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  102. 1020  PRINT "IMPEDANCE MATCHING TRANSFORMER:"
  103. 1030  PRINT UL$;
  104. 1040  INPUT " ENTER: Number of PRIMARY turns (if known).......";TP
  105. 1050  LOCATE CSRLIN-1:PRINT SPC(7);:LOCATE CSRLIN,50:PRINT USING U3$;TP
  106. 1060  INPUT " ENTER: Number of SECONDARY turns (if known).....";TS
  107. 1070  LOCATE CSRLIN-1:PRINT SPC(7);:LOCATE CSRLIN,50:PRINT USING U3$;TS
  108. 1080  IF TP*TS THEN R=TP/TS:GOTO 1120
  109. 1090  IF TP*TS=0 THEN VIEW PRINT 5 TO 24:CLS:VIEW PRINT:LOCATE 7
  110. 1100  INPUT " ENTER: Primary/Secondary turns ratio (if known).";R
  111. 1110  IF R=0 THEN 1000
  112. 1120  VIEW PRINT 7 TO 24:CLS:VIEW PRINT:LOCATE 7
  113. 1130  PRINT TAB(9);"Primary/Secondary turns ratio............";USING U1$;R;
  114. 1140  PRINT ":1"
  115. 1150  INPUT " ENTER: Primary impedance (if known).............";ZP
  116. 1160  IF ZP THEN ZS=ZP/R^2:GOTO 1190
  117. 1170  INPUT " ENTER: Secondary impedance (if known)...........";ZS
  118. 1180  IF ZS THEN ZP=ZS*R^2:GOTO 1190
  119. 1190  VIEW PRINT 8 TO 24:CLS:VIEW PRINT:LOCATE 8
  120. 1200  IF ZP*ZS=0 THEN 1250
  121. 1210  PRINT TAB(9);"Primary impedance........................";USING U1$;ZP;
  122. 1220  PRINT " -"
  123. 1230  PRINT TAB(9);"Secondary impedance......................";USING U1$;ZS;
  124. 1240  PRINT " -"
  125. 1250  PRINT UL$;
  126. 1260  GOTO 1280
  127. 1270  '
  128. 1280  '.....end
  129. 1290  GOSUB 1330
  130. 1300  GOTO 120   'start
  131. 1310  END
  132. 1320  '
  133. 1330  'HARDCOPY
  134. 1340  GOSUB 1450:LOCATE 25,2:COLOR 14,6
  135. 1350  PRINT " Press 1 to print screen, 2 to print screen & ";
  136. 1360  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  137. 1370  Z$=INKEY$:IF Z$="3"THEN GOSUB 1450:RETURN
  138. 1380  IF Z$="1"OR Z$="2"THEN GOSUB 1450:GOTO 1400
  139. 1390  GOTO 1370
  140. 1400  FOR QX=1 TO 24:FOR QY=1 TO 80
  141. 1410  LPRINT CHR$(SCREEN(QX,QY));
  142. 1420  NEXT QY:NEXT QX
  143. 1430  IF Z$="2"THEN LPRINT CHR$(12)
  144. 1440  GOTO 1340
  145. 1450  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  146.